
import numpy as np

class Shuffle:

    # def __init__(self,data):
    #     self.data = data

    # 打乱1个数据集顺序
    '''
    data：要打乱的数据集
    '''
    def shuffle_data1(self,data):
        num_example = data.shape[0]  # 数据集的数量
        arr = np.arange(num_example)  # 创建一个从0开始的等差数组
        np.random.shuffle(arr)
        result_data = data[arr]
        return result_data

    # 打乱两个个数据集顺序
    '''
    data1：要打乱的第一个数据集
    data2：要打乱的第二个数据集
    '''
    def shuffle_data2(self,data1,data2):
        assert len(data1) == len(data2)
        num_example = data1.shape[0]  # 训练集的数量
        arr = np.arange(num_example)  # 创建一个从0开始的等差数组
        np.random.shuffle(arr)
        result_data1 = data1[arr]
        result_data2 = data2[arr]
        return result_data1,result_data2


    # 打乱三个个数据集顺序
    '''
    data1：要打乱的第一个数据集
    data2：要打乱的第二个数据集
    data3: 要打乱的第三个数据集
    '''
    def shuffle_data3(self,data1,data2,data3):
        assert len(data1) == len(data2) == len(data3)
        num_example = data1.shape[0]  # 训练集的数量
        arr = np.arange(num_example)  # 创建一个从0开始的等差数组
        np.random.shuffle(arr)
        result_data1 = data1[arr]
        result_data2 = data2[arr]
        result_data3 = data3[arr]
        return result_data1,result_data2,result_data3